#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
int gval = 100;


int main()
{
	printf("父进程开始运行! pid: %d\n", getpid());
	pid_t id = fork();

	if(id < 0)
	{
		perror("fork");
		return 1;
	}
	else if(id == 0)
	{
		printf("我是一个子进程! 我的pid: %d, 我的父进程: %d, gval: %d\n", getpid(), getppid(), gval);
		sleep(5);
		while(1)
		{
			sleep(1);
			printf("子进程修改变量: %d->%d\n", gval, gval + 10);
			gval += 10;
			printf("我是一个子进程! 我的pid: %d, 我的父进程: %d\n", getpid(), getppid());
		}
	}
	else
	{
		while(1)
		{
			sleep(1);
			printf("我是一个父进程! 我的pid: %d, 我的父进程: %d, gval: %d\n", getpid(), getppid(), gval);
		}

	}

       printf("子进程开始运行! pid: %d\n", getpid());
       return 0;
}


//int main()
//{
//	chdir("/home/zxl");
//	while(1)
//	{
//		sleep(1);
//		printf("我是一个进程! 我的 pid: %d, 我的父进程: %d\n", getpid(), getppid());
//	}
//
//	return 0;
//}
